Installation tools (such as InstallShield) generally are not flexible enough to meet various advanced requirements. As an example, such tools generally are unable to implement visually and functionally interesting user interfaces (UIs). As another example, such tools generally are unable to accommodate various installation routines associated with various products. As yet another example, such tools generally are not well integrated with their dialog components.